for i in range(int(input())):
n,k=map(int,input().split())
for i in range(k):
j=2
if n%2==0:
n=n+2*(k-i)
break
else:
while n%j!=0:
j+=1
if n%(j+1)==0:
j+=1
n+=j
print(n)
#include <bits/stdc++.h>
using namespace std;
#define int int long long
#define vi vector< int>
#define mi map< int, int>
#define vii vector< int, int>
#define el << endl
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int sol(int n){
if(n%2==0) return 2;
for (int i = 3; i <= sqrt(n); i++) if(n%i==0) return i;
return n;
}
int ch()
{
int n,k,res = 0, maxi = 0, mini = 0;
string s;
cin >> n >> k;
int a = sol(n);
cout << n + a + (k-1)*2 << endl;
return 0;
}
int32_t main()
{
std::cout << std::fixed << std::setprecision(0);
fast
int t; cin >> t;
while (t--) ch();
return 0;
}
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |